package com.itheima.recursion;

/**
 * @author Anomaly
 * @date 2023/2/8 16:06
 */

import java.io.File;

/**
 * 递归实现文件搜索
 */
public class RecursionDemo3 {
    public static void main(String[] args) {
        searchFile(new File("E:\\桌面"), "passwd.txt");
        System.out.println("搜索完毕。。");
    }

    /**
     * 搜索某个目录下的某个文件
     *
     * @param dir      源目录
     * @param fileName 文件名
     */
    public static void searchFile(File dir, String fileName) {
        if (dir != null && dir.isDirectory()) {
            File[] files = dir.listFiles();
            if (files != null && files.length > 0) {
                for (File file : files) {
                    if (file.isFile()) {
                        if (file.getName().contains(fileName)) {
                            System.out.println("找到了：" + file.getAbsoluteFile());
                        }
                    } else {
                        searchFile(file, fileName);
                    }
                }
            }
        } else {
            System.out.println("源目录不存在");
        }
    }
}
